var $$ = $$ || {};
$$.WScript = {

	/**
	 * 不显示UI，以后台执行的方式运行程序。
	 * @param	{String} cmd
	 * @return	{Number}
	 */
	quietRun : function (cmd){
		var wshObj = new ActiveXObject("WScript.Shell");
	    return wshObj.run(cmd, 0/*  不显示GUI，后台运行 */, false /*不等待程序，也就是执行之后就好*/);
	}
	
	/**
	 * 目录选择器。
	 * @param 	{String}			str
	 * @return 	{Shell.Application}
	 */
	,showFolderPickuper : function (str){
	    var objFolder = new ActiveXObject("Shell.Application").BrowseForFolder(
	         0
	        ,str || "请选择一个目录。"
	        ,0
	        ,0x11
	    );
	    return objFolder ? objFolder.Self.Path : '';
	}
	
	/**
	 * 在脚本中创建浏览器窗体 适合WSC使用。
	 */
	,createBrowser : function (){
	    with(new ActiveXObject("InternetExplorer.Application")){
	        visible		=	false;
	        addressBar	=	false;
	        menuBar		=	false;
	        statusBar	=	false;
	        toolBar		=	false;
	        resizable	=	true;
	        left		=	300;
	        top			=	200;
	        width		=	300;
	        height		=	240;
	        silent		=	true;
	        navigate("http://localhost");
	        /*
	        Document.title="VBScript 创建的窗口";
	        Document.body.bgColor="#ECE9D8";
	        Document.body.style.overflow="hidden";
	        Document.body.style.borderWidth="0";
	        Document.body.innerHtml="hi  ";
	        */
	        visible		=	true;
	    }
	}
	
	/**
	 * 显示系统变量，包括"Process"、"User"和"System"。
	 * @return {Object}
	 */
	,showSystemVars : function (){
		var wshObj = new ActiveXObject("WScript.Shell");
	    var 
         args 	= ["Process", "User", "System"]
        ,result	= {}
        ,item
        ,e;
	        
	    for(var i = args.length-1; i >= 0; i--){
	        result[args[i]] = {};
	        for(e  = new Enumerator(wshObj.Environment(args[i])); !e.atEnd(); e.moveNext()){
	            var item = e.item().split("=");
	            result[args[i]][item[0]] = item[1];
	        }
	    }
	    
	    return result;
	}
		
	/**
	 * 添加系统环境变量。
	 * @param	{Sting} 	key
	 * @param	{String}	value
	 * @return	{String}
	 */
	,addEnvVar : function (key, value){
		var wshObj = new ActiveXObject("WScript.Shell");
	    var oSysEnv = wshObj.Environment("SYSTEM");
	    if(!oSysEnv(key) && oSysEnv(key).indexOf(value) == -1){
	        oSysEnv(key) = value;
	    }else{
	        alert(value + '已经在了');
	    }
	     
	    return oSysEnv(key);
	}
	
	/**
	 * 添加PATH环境变量
	 * @param {String} v 目录字符串
	 */
	,addPath : function (v){
		var wshObj  = new ActiveXObject("WScript.Shell");
	    var oSysEnv = wshObj.Environment("SYSTEM");
	    
	    if( oSysEnv("Path").indexOf(v) == -1){
	        oSysEnv("Path") += ';' + v;
	    }else{
	       alert('警告：该条目' + v +'已存在！');
	    }
	    return oSysEnv("Path");
	}
	
};